package com.example.wanjialei.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class StockExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public StockExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andSnoIsNull() {
            addCriterion("sno is null");
            return (Criteria) this;
        }

        public Criteria andSnoIsNotNull() {
            addCriterion("sno is not null");
            return (Criteria) this;
        }

        public Criteria andSnoEqualTo(Integer value) {
            addCriterion("sno =", value, "sno");
            return (Criteria) this;
        }

        public Criteria andSnoNotEqualTo(Integer value) {
            addCriterion("sno <>", value, "sno");
            return (Criteria) this;
        }

        public Criteria andSnoGreaterThan(Integer value) {
            addCriterion("sno >", value, "sno");
            return (Criteria) this;
        }

        public Criteria andSnoGreaterThanOrEqualTo(Integer value) {
            addCriterion("sno >=", value, "sno");
            return (Criteria) this;
        }

        public Criteria andSnoLessThan(Integer value) {
            addCriterion("sno <", value, "sno");
            return (Criteria) this;
        }

        public Criteria andSnoLessThanOrEqualTo(Integer value) {
            addCriterion("sno <=", value, "sno");
            return (Criteria) this;
        }

        public Criteria andSnoIn(List<Integer> values) {
            addCriterion("sno in", values, "sno");
            return (Criteria) this;
        }

        public Criteria andSnoNotIn(List<Integer> values) {
            addCriterion("sno not in", values, "sno");
            return (Criteria) this;
        }

        public Criteria andSnoBetween(Integer value1, Integer value2) {
            addCriterion("sno between", value1, value2, "sno");
            return (Criteria) this;
        }

        public Criteria andSnoNotBetween(Integer value1, Integer value2) {
            addCriterion("sno not between", value1, value2, "sno");
            return (Criteria) this;
        }

        public Criteria andSubdateIsNull() {
            addCriterion("subdate is null");
            return (Criteria) this;
        }

        public Criteria andSubdateIsNotNull() {
            addCriterion("subdate is not null");
            return (Criteria) this;
        }

        public Criteria andSubdateEqualTo(Date value) {
            addCriterionForJDBCDate("subdate =", value, "subdate");
            return (Criteria) this;
        }

        public Criteria andSubdateNotEqualTo(Date value) {
            addCriterionForJDBCDate("subdate <>", value, "subdate");
            return (Criteria) this;
        }

        public Criteria andSubdateGreaterThan(Date value) {
            addCriterionForJDBCDate("subdate >", value, "subdate");
            return (Criteria) this;
        }

        public Criteria andSubdateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("subdate >=", value, "subdate");
            return (Criteria) this;
        }

        public Criteria andSubdateLessThan(Date value) {
            addCriterionForJDBCDate("subdate <", value, "subdate");
            return (Criteria) this;
        }

        public Criteria andSubdateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("subdate <=", value, "subdate");
            return (Criteria) this;
        }

        public Criteria andSubdateIn(List<Date> values) {
            addCriterionForJDBCDate("subdate in", values, "subdate");
            return (Criteria) this;
        }

        public Criteria andSubdateNotIn(List<Date> values) {
            addCriterionForJDBCDate("subdate not in", values, "subdate");
            return (Criteria) this;
        }

        public Criteria andSubdateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("subdate between", value1, value2, "subdate");
            return (Criteria) this;
        }

        public Criteria andSubdateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("subdate not between", value1, value2, "subdate");
            return (Criteria) this;
        }

        public Criteria andOrdernoIsNull() {
            addCriterion("orderno is null");
            return (Criteria) this;
        }

        public Criteria andOrdernoIsNotNull() {
            addCriterion("orderno is not null");
            return (Criteria) this;
        }

        public Criteria andOrdernoEqualTo(Integer value) {
            addCriterion("orderno =", value, "orderno");
            return (Criteria) this;
        }

        public Criteria andOrdernoNotEqualTo(Integer value) {
            addCriterion("orderno <>", value, "orderno");
            return (Criteria) this;
        }

        public Criteria andOrdernoGreaterThan(Integer value) {
            addCriterion("orderno >", value, "orderno");
            return (Criteria) this;
        }

        public Criteria andOrdernoGreaterThanOrEqualTo(Integer value) {
            addCriterion("orderno >=", value, "orderno");
            return (Criteria) this;
        }

        public Criteria andOrdernoLessThan(Integer value) {
            addCriterion("orderno <", value, "orderno");
            return (Criteria) this;
        }

        public Criteria andOrdernoLessThanOrEqualTo(Integer value) {
            addCriterion("orderno <=", value, "orderno");
            return (Criteria) this;
        }

        public Criteria andOrdernoIn(List<Integer> values) {
            addCriterion("orderno in", values, "orderno");
            return (Criteria) this;
        }

        public Criteria andOrdernoNotIn(List<Integer> values) {
            addCriterion("orderno not in", values, "orderno");
            return (Criteria) this;
        }

        public Criteria andOrdernoBetween(Integer value1, Integer value2) {
            addCriterion("orderno between", value1, value2, "orderno");
            return (Criteria) this;
        }

        public Criteria andOrdernoNotBetween(Integer value1, Integer value2) {
            addCriterion("orderno not between", value1, value2, "orderno");
            return (Criteria) this;
        }

        public Criteria andPeriodIsNull() {
            addCriterion("period is null");
            return (Criteria) this;
        }

        public Criteria andPeriodIsNotNull() {
            addCriterion("period is not null");
            return (Criteria) this;
        }

        public Criteria andPeriodEqualTo(String value) {
            addCriterion("period =", value, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodNotEqualTo(String value) {
            addCriterion("period <>", value, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodGreaterThan(String value) {
            addCriterion("period >", value, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodGreaterThanOrEqualTo(String value) {
            addCriterion("period >=", value, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodLessThan(String value) {
            addCriterion("period <", value, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodLessThanOrEqualTo(String value) {
            addCriterion("period <=", value, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodLike(String value) {
            addCriterion("period like", value, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodNotLike(String value) {
            addCriterion("period not like", value, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodIn(List<String> values) {
            addCriterion("period in", values, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodNotIn(List<String> values) {
            addCriterion("period not in", values, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodBetween(String value1, String value2) {
            addCriterion("period between", value1, value2, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodNotBetween(String value1, String value2) {
            addCriterion("period not between", value1, value2, "period");
            return (Criteria) this;
        }

        public Criteria andDnoIsNull() {
            addCriterion("dno is null");
            return (Criteria) this;
        }

        public Criteria andDnoIsNotNull() {
            addCriterion("dno is not null");
            return (Criteria) this;
        }

        public Criteria andDnoEqualTo(Integer value) {
            addCriterion("dno =", value, "dno");
            return (Criteria) this;
        }

        public Criteria andDnoNotEqualTo(Integer value) {
            addCriterion("dno <>", value, "dno");
            return (Criteria) this;
        }

        public Criteria andDnoGreaterThan(Integer value) {
            addCriterion("dno >", value, "dno");
            return (Criteria) this;
        }

        public Criteria andDnoGreaterThanOrEqualTo(Integer value) {
            addCriterion("dno >=", value, "dno");
            return (Criteria) this;
        }

        public Criteria andDnoLessThan(Integer value) {
            addCriterion("dno <", value, "dno");
            return (Criteria) this;
        }

        public Criteria andDnoLessThanOrEqualTo(Integer value) {
            addCriterion("dno <=", value, "dno");
            return (Criteria) this;
        }

        public Criteria andDnoIn(List<Integer> values) {
            addCriterion("dno in", values, "dno");
            return (Criteria) this;
        }

        public Criteria andDnoNotIn(List<Integer> values) {
            addCriterion("dno not in", values, "dno");
            return (Criteria) this;
        }

        public Criteria andDnoBetween(Integer value1, Integer value2) {
            addCriterion("dno between", value1, value2, "dno");
            return (Criteria) this;
        }

        public Criteria andDnoNotBetween(Integer value1, Integer value2) {
            addCriterion("dno not between", value1, value2, "dno");
            return (Criteria) this;
        }

        public Criteria andDnameIsNull() {
            addCriterion("dname is null");
            return (Criteria) this;
        }

        public Criteria andDnameIsNotNull() {
            addCriterion("dname is not null");
            return (Criteria) this;
        }

        public Criteria andDnameEqualTo(String value) {
            addCriterion("dname =", value, "dname");
            return (Criteria) this;
        }

        public Criteria andDnameNotEqualTo(String value) {
            addCriterion("dname <>", value, "dname");
            return (Criteria) this;
        }

        public Criteria andDnameGreaterThan(String value) {
            addCriterion("dname >", value, "dname");
            return (Criteria) this;
        }

        public Criteria andDnameGreaterThanOrEqualTo(String value) {
            addCriterion("dname >=", value, "dname");
            return (Criteria) this;
        }

        public Criteria andDnameLessThan(String value) {
            addCriterion("dname <", value, "dname");
            return (Criteria) this;
        }

        public Criteria andDnameLessThanOrEqualTo(String value) {
            addCriterion("dname <=", value, "dname");
            return (Criteria) this;
        }

        public Criteria andDnameLike(String value) {
            addCriterion("dname like", value, "dname");
            return (Criteria) this;
        }

        public Criteria andDnameNotLike(String value) {
            addCriterion("dname not like", value, "dname");
            return (Criteria) this;
        }

        public Criteria andDnameIn(List<String> values) {
            addCriterion("dname in", values, "dname");
            return (Criteria) this;
        }

        public Criteria andDnameNotIn(List<String> values) {
            addCriterion("dname not in", values, "dname");
            return (Criteria) this;
        }

        public Criteria andDnameBetween(String value1, String value2) {
            addCriterion("dname between", value1, value2, "dname");
            return (Criteria) this;
        }

        public Criteria andDnameNotBetween(String value1, String value2) {
            addCriterion("dname not between", value1, value2, "dname");
            return (Criteria) this;
        }

        public Criteria andAreaIsNull() {
            addCriterion("area is null");
            return (Criteria) this;
        }

        public Criteria andAreaIsNotNull() {
            addCriterion("area is not null");
            return (Criteria) this;
        }

        public Criteria andAreaEqualTo(String value) {
            addCriterion("area =", value, "area");
            return (Criteria) this;
        }

        public Criteria andAreaNotEqualTo(String value) {
            addCriterion("area <>", value, "area");
            return (Criteria) this;
        }

        public Criteria andAreaGreaterThan(String value) {
            addCriterion("area >", value, "area");
            return (Criteria) this;
        }

        public Criteria andAreaGreaterThanOrEqualTo(String value) {
            addCriterion("area >=", value, "area");
            return (Criteria) this;
        }

        public Criteria andAreaLessThan(String value) {
            addCriterion("area <", value, "area");
            return (Criteria) this;
        }

        public Criteria andAreaLessThanOrEqualTo(String value) {
            addCriterion("area <=", value, "area");
            return (Criteria) this;
        }

        public Criteria andAreaLike(String value) {
            addCriterion("area like", value, "area");
            return (Criteria) this;
        }

        public Criteria andAreaNotLike(String value) {
            addCriterion("area not like", value, "area");
            return (Criteria) this;
        }

        public Criteria andAreaIn(List<String> values) {
            addCriterion("area in", values, "area");
            return (Criteria) this;
        }

        public Criteria andAreaNotIn(List<String> values) {
            addCriterion("area not in", values, "area");
            return (Criteria) this;
        }

        public Criteria andAreaBetween(String value1, String value2) {
            addCriterion("area between", value1, value2, "area");
            return (Criteria) this;
        }

        public Criteria andAreaNotBetween(String value1, String value2) {
            addCriterion("area not between", value1, value2, "area");
            return (Criteria) this;
        }

        public Criteria andPnoIsNull() {
            addCriterion("pno is null");
            return (Criteria) this;
        }

        public Criteria andPnoIsNotNull() {
            addCriterion("pno is not null");
            return (Criteria) this;
        }

        public Criteria andPnoEqualTo(Integer value) {
            addCriterion("pno =", value, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoNotEqualTo(Integer value) {
            addCriterion("pno <>", value, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoGreaterThan(Integer value) {
            addCriterion("pno >", value, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoGreaterThanOrEqualTo(Integer value) {
            addCriterion("pno >=", value, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoLessThan(Integer value) {
            addCriterion("pno <", value, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoLessThanOrEqualTo(Integer value) {
            addCriterion("pno <=", value, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoIn(List<Integer> values) {
            addCriterion("pno in", values, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoNotIn(List<Integer> values) {
            addCriterion("pno not in", values, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoBetween(Integer value1, Integer value2) {
            addCriterion("pno between", value1, value2, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoNotBetween(Integer value1, Integer value2) {
            addCriterion("pno not between", value1, value2, "pno");
            return (Criteria) this;
        }

        public Criteria andPmodelIsNull() {
            addCriterion("pmodel is null");
            return (Criteria) this;
        }

        public Criteria andPmodelIsNotNull() {
            addCriterion("pmodel is not null");
            return (Criteria) this;
        }

        public Criteria andPmodelEqualTo(String value) {
            addCriterion("pmodel =", value, "pmodel");
            return (Criteria) this;
        }

        public Criteria andPmodelNotEqualTo(String value) {
            addCriterion("pmodel <>", value, "pmodel");
            return (Criteria) this;
        }

        public Criteria andPmodelGreaterThan(String value) {
            addCriterion("pmodel >", value, "pmodel");
            return (Criteria) this;
        }

        public Criteria andPmodelGreaterThanOrEqualTo(String value) {
            addCriterion("pmodel >=", value, "pmodel");
            return (Criteria) this;
        }

        public Criteria andPmodelLessThan(String value) {
            addCriterion("pmodel <", value, "pmodel");
            return (Criteria) this;
        }

        public Criteria andPmodelLessThanOrEqualTo(String value) {
            addCriterion("pmodel <=", value, "pmodel");
            return (Criteria) this;
        }

        public Criteria andPmodelLike(String value) {
            addCriterion("pmodel like", value, "pmodel");
            return (Criteria) this;
        }

        public Criteria andPmodelNotLike(String value) {
            addCriterion("pmodel not like", value, "pmodel");
            return (Criteria) this;
        }

        public Criteria andPmodelIn(List<String> values) {
            addCriterion("pmodel in", values, "pmodel");
            return (Criteria) this;
        }

        public Criteria andPmodelNotIn(List<String> values) {
            addCriterion("pmodel not in", values, "pmodel");
            return (Criteria) this;
        }

        public Criteria andPmodelBetween(String value1, String value2) {
            addCriterion("pmodel between", value1, value2, "pmodel");
            return (Criteria) this;
        }

        public Criteria andPmodelNotBetween(String value1, String value2) {
            addCriterion("pmodel not between", value1, value2, "pmodel");
            return (Criteria) this;
        }

        public Criteria andCategoryIsNull() {
            addCriterion("category is null");
            return (Criteria) this;
        }

        public Criteria andCategoryIsNotNull() {
            addCriterion("category is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryEqualTo(String value) {
            addCriterion("category =", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryNotEqualTo(String value) {
            addCriterion("category <>", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryGreaterThan(String value) {
            addCriterion("category >", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryGreaterThanOrEqualTo(String value) {
            addCriterion("category >=", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryLessThan(String value) {
            addCriterion("category <", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryLessThanOrEqualTo(String value) {
            addCriterion("category <=", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryLike(String value) {
            addCriterion("category like", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryNotLike(String value) {
            addCriterion("category not like", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryIn(List<String> values) {
            addCriterion("category in", values, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryNotIn(List<String> values) {
            addCriterion("category not in", values, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryBetween(String value1, String value2) {
            addCriterion("category between", value1, value2, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryNotBetween(String value1, String value2) {
            addCriterion("category not between", value1, value2, "category");
            return (Criteria) this;
        }

        public Criteria andTnumIsNull() {
            addCriterion("tnum is null");
            return (Criteria) this;
        }

        public Criteria andTnumIsNotNull() {
            addCriterion("tnum is not null");
            return (Criteria) this;
        }

        public Criteria andTnumEqualTo(Integer value) {
            addCriterion("tnum =", value, "tnum");
            return (Criteria) this;
        }

        public Criteria andTnumNotEqualTo(Integer value) {
            addCriterion("tnum <>", value, "tnum");
            return (Criteria) this;
        }

        public Criteria andTnumGreaterThan(Integer value) {
            addCriterion("tnum >", value, "tnum");
            return (Criteria) this;
        }

        public Criteria andTnumGreaterThanOrEqualTo(Integer value) {
            addCriterion("tnum >=", value, "tnum");
            return (Criteria) this;
        }

        public Criteria andTnumLessThan(Integer value) {
            addCriterion("tnum <", value, "tnum");
            return (Criteria) this;
        }

        public Criteria andTnumLessThanOrEqualTo(Integer value) {
            addCriterion("tnum <=", value, "tnum");
            return (Criteria) this;
        }

        public Criteria andTnumIn(List<Integer> values) {
            addCriterion("tnum in", values, "tnum");
            return (Criteria) this;
        }

        public Criteria andTnumNotIn(List<Integer> values) {
            addCriterion("tnum not in", values, "tnum");
            return (Criteria) this;
        }

        public Criteria andTnumBetween(Integer value1, Integer value2) {
            addCriterion("tnum between", value1, value2, "tnum");
            return (Criteria) this;
        }

        public Criteria andTnumNotBetween(Integer value1, Integer value2) {
            addCriterion("tnum not between", value1, value2, "tnum");
            return (Criteria) this;
        }

        public Criteria andSinglePriceIsNull() {
            addCriterion("single_price is null");
            return (Criteria) this;
        }

        public Criteria andSinglePriceIsNotNull() {
            addCriterion("single_price is not null");
            return (Criteria) this;
        }

        public Criteria andSinglePriceEqualTo(Double value) {
            addCriterion("single_price =", value, "singlePrice");
            return (Criteria) this;
        }

        public Criteria andSinglePriceNotEqualTo(Double value) {
            addCriterion("single_price <>", value, "singlePrice");
            return (Criteria) this;
        }

        public Criteria andSinglePriceGreaterThan(Double value) {
            addCriterion("single_price >", value, "singlePrice");
            return (Criteria) this;
        }

        public Criteria andSinglePriceGreaterThanOrEqualTo(Double value) {
            addCriterion("single_price >=", value, "singlePrice");
            return (Criteria) this;
        }

        public Criteria andSinglePriceLessThan(Double value) {
            addCriterion("single_price <", value, "singlePrice");
            return (Criteria) this;
        }

        public Criteria andSinglePriceLessThanOrEqualTo(Double value) {
            addCriterion("single_price <=", value, "singlePrice");
            return (Criteria) this;
        }

        public Criteria andSinglePriceIn(List<Double> values) {
            addCriterion("single_price in", values, "singlePrice");
            return (Criteria) this;
        }

        public Criteria andSinglePriceNotIn(List<Double> values) {
            addCriterion("single_price not in", values, "singlePrice");
            return (Criteria) this;
        }

        public Criteria andSinglePriceBetween(Double value1, Double value2) {
            addCriterion("single_price between", value1, value2, "singlePrice");
            return (Criteria) this;
        }

        public Criteria andSinglePriceNotBetween(Double value1, Double value2) {
            addCriterion("single_price not between", value1, value2, "singlePrice");
            return (Criteria) this;
        }

        public Criteria andTmoneyIsNull() {
            addCriterion("tmoney is null");
            return (Criteria) this;
        }

        public Criteria andTmoneyIsNotNull() {
            addCriterion("tmoney is not null");
            return (Criteria) this;
        }

        public Criteria andTmoneyEqualTo(Double value) {
            addCriterion("tmoney =", value, "tmoney");
            return (Criteria) this;
        }

        public Criteria andTmoneyNotEqualTo(Double value) {
            addCriterion("tmoney <>", value, "tmoney");
            return (Criteria) this;
        }

        public Criteria andTmoneyGreaterThan(Double value) {
            addCriterion("tmoney >", value, "tmoney");
            return (Criteria) this;
        }

        public Criteria andTmoneyGreaterThanOrEqualTo(Double value) {
            addCriterion("tmoney >=", value, "tmoney");
            return (Criteria) this;
        }

        public Criteria andTmoneyLessThan(Double value) {
            addCriterion("tmoney <", value, "tmoney");
            return (Criteria) this;
        }

        public Criteria andTmoneyLessThanOrEqualTo(Double value) {
            addCriterion("tmoney <=", value, "tmoney");
            return (Criteria) this;
        }

        public Criteria andTmoneyIn(List<Double> values) {
            addCriterion("tmoney in", values, "tmoney");
            return (Criteria) this;
        }

        public Criteria andTmoneyNotIn(List<Double> values) {
            addCriterion("tmoney not in", values, "tmoney");
            return (Criteria) this;
        }

        public Criteria andTmoneyBetween(Double value1, Double value2) {
            addCriterion("tmoney between", value1, value2, "tmoney");
            return (Criteria) this;
        }

        public Criteria andTmoneyNotBetween(Double value1, Double value2) {
            addCriterion("tmoney not between", value1, value2, "tmoney");
            return (Criteria) this;
        }

        public Criteria andTvolumeIsNull() {
            addCriterion("tvolume is null");
            return (Criteria) this;
        }

        public Criteria andTvolumeIsNotNull() {
            addCriterion("tvolume is not null");
            return (Criteria) this;
        }

        public Criteria andTvolumeEqualTo(Double value) {
            addCriterion("tvolume =", value, "tvolume");
            return (Criteria) this;
        }

        public Criteria andTvolumeNotEqualTo(Double value) {
            addCriterion("tvolume <>", value, "tvolume");
            return (Criteria) this;
        }

        public Criteria andTvolumeGreaterThan(Double value) {
            addCriterion("tvolume >", value, "tvolume");
            return (Criteria) this;
        }

        public Criteria andTvolumeGreaterThanOrEqualTo(Double value) {
            addCriterion("tvolume >=", value, "tvolume");
            return (Criteria) this;
        }

        public Criteria andTvolumeLessThan(Double value) {
            addCriterion("tvolume <", value, "tvolume");
            return (Criteria) this;
        }

        public Criteria andTvolumeLessThanOrEqualTo(Double value) {
            addCriterion("tvolume <=", value, "tvolume");
            return (Criteria) this;
        }

        public Criteria andTvolumeIn(List<Double> values) {
            addCriterion("tvolume in", values, "tvolume");
            return (Criteria) this;
        }

        public Criteria andTvolumeNotIn(List<Double> values) {
            addCriterion("tvolume not in", values, "tvolume");
            return (Criteria) this;
        }

        public Criteria andTvolumeBetween(Double value1, Double value2) {
            addCriterion("tvolume between", value1, value2, "tvolume");
            return (Criteria) this;
        }

        public Criteria andTvolumeNotBetween(Double value1, Double value2) {
            addCriterion("tvolume not between", value1, value2, "tvolume");
            return (Criteria) this;
        }

        public Criteria andDstateIsNull() {
            addCriterion("dstate is null");
            return (Criteria) this;
        }

        public Criteria andDstateIsNotNull() {
            addCriterion("dstate is not null");
            return (Criteria) this;
        }

        public Criteria andDstateEqualTo(String value) {
            addCriterion("dstate =", value, "dstate");
            return (Criteria) this;
        }

        public Criteria andDstateNotEqualTo(String value) {
            addCriterion("dstate <>", value, "dstate");
            return (Criteria) this;
        }

        public Criteria andDstateGreaterThan(String value) {
            addCriterion("dstate >", value, "dstate");
            return (Criteria) this;
        }

        public Criteria andDstateGreaterThanOrEqualTo(String value) {
            addCriterion("dstate >=", value, "dstate");
            return (Criteria) this;
        }

        public Criteria andDstateLessThan(String value) {
            addCriterion("dstate <", value, "dstate");
            return (Criteria) this;
        }

        public Criteria andDstateLessThanOrEqualTo(String value) {
            addCriterion("dstate <=", value, "dstate");
            return (Criteria) this;
        }

        public Criteria andDstateLike(String value) {
            addCriterion("dstate like", value, "dstate");
            return (Criteria) this;
        }

        public Criteria andDstateNotLike(String value) {
            addCriterion("dstate not like", value, "dstate");
            return (Criteria) this;
        }

        public Criteria andDstateIn(List<String> values) {
            addCriterion("dstate in", values, "dstate");
            return (Criteria) this;
        }

        public Criteria andDstateNotIn(List<String> values) {
            addCriterion("dstate not in", values, "dstate");
            return (Criteria) this;
        }

        public Criteria andDstateBetween(String value1, String value2) {
            addCriterion("dstate between", value1, value2, "dstate");
            return (Criteria) this;
        }

        public Criteria andDstateNotBetween(String value1, String value2) {
            addCriterion("dstate not between", value1, value2, "dstate");
            return (Criteria) this;
        }

        public Criteria andStateIsNull() {
            addCriterion("state is null");
            return (Criteria) this;
        }

        public Criteria andStateIsNotNull() {
            addCriterion("state is not null");
            return (Criteria) this;
        }

        public Criteria andStateEqualTo(String value) {
            addCriterion("state =", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotEqualTo(String value) {
            addCriterion("state <>", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThan(String value) {
            addCriterion("state >", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThanOrEqualTo(String value) {
            addCriterion("state >=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThan(String value) {
            addCriterion("state <", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThanOrEqualTo(String value) {
            addCriterion("state <=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLike(String value) {
            addCriterion("state like", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotLike(String value) {
            addCriterion("state not like", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateIn(List<String> values) {
            addCriterion("state in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotIn(List<String> values) {
            addCriterion("state not in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateBetween(String value1, String value2) {
            addCriterion("state between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotBetween(String value1, String value2) {
            addCriterion("state not between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andTrialIsNull() {
            addCriterion("trial is null");
            return (Criteria) this;
        }

        public Criteria andTrialIsNotNull() {
            addCriterion("trial is not null");
            return (Criteria) this;
        }

        public Criteria andTrialEqualTo(String value) {
            addCriterion("trial =", value, "trial");
            return (Criteria) this;
        }

        public Criteria andTrialNotEqualTo(String value) {
            addCriterion("trial <>", value, "trial");
            return (Criteria) this;
        }

        public Criteria andTrialGreaterThan(String value) {
            addCriterion("trial >", value, "trial");
            return (Criteria) this;
        }

        public Criteria andTrialGreaterThanOrEqualTo(String value) {
            addCriterion("trial >=", value, "trial");
            return (Criteria) this;
        }

        public Criteria andTrialLessThan(String value) {
            addCriterion("trial <", value, "trial");
            return (Criteria) this;
        }

        public Criteria andTrialLessThanOrEqualTo(String value) {
            addCriterion("trial <=", value, "trial");
            return (Criteria) this;
        }

        public Criteria andTrialLike(String value) {
            addCriterion("trial like", value, "trial");
            return (Criteria) this;
        }

        public Criteria andTrialNotLike(String value) {
            addCriterion("trial not like", value, "trial");
            return (Criteria) this;
        }

        public Criteria andTrialIn(List<String> values) {
            addCriterion("trial in", values, "trial");
            return (Criteria) this;
        }

        public Criteria andTrialNotIn(List<String> values) {
            addCriterion("trial not in", values, "trial");
            return (Criteria) this;
        }

        public Criteria andTrialBetween(String value1, String value2) {
            addCriterion("trial between", value1, value2, "trial");
            return (Criteria) this;
        }

        public Criteria andTrialNotBetween(String value1, String value2) {
            addCriterion("trial not between", value1, value2, "trial");
            return (Criteria) this;
        }

        public Criteria andReviewIsNull() {
            addCriterion("review is null");
            return (Criteria) this;
        }

        public Criteria andReviewIsNotNull() {
            addCriterion("review is not null");
            return (Criteria) this;
        }

        public Criteria andReviewEqualTo(String value) {
            addCriterion("review =", value, "review");
            return (Criteria) this;
        }

        public Criteria andReviewNotEqualTo(String value) {
            addCriterion("review <>", value, "review");
            return (Criteria) this;
        }

        public Criteria andReviewGreaterThan(String value) {
            addCriterion("review >", value, "review");
            return (Criteria) this;
        }

        public Criteria andReviewGreaterThanOrEqualTo(String value) {
            addCriterion("review >=", value, "review");
            return (Criteria) this;
        }

        public Criteria andReviewLessThan(String value) {
            addCriterion("review <", value, "review");
            return (Criteria) this;
        }

        public Criteria andReviewLessThanOrEqualTo(String value) {
            addCriterion("review <=", value, "review");
            return (Criteria) this;
        }

        public Criteria andReviewLike(String value) {
            addCriterion("review like", value, "review");
            return (Criteria) this;
        }

        public Criteria andReviewNotLike(String value) {
            addCriterion("review not like", value, "review");
            return (Criteria) this;
        }

        public Criteria andReviewIn(List<String> values) {
            addCriterion("review in", values, "review");
            return (Criteria) this;
        }

        public Criteria andReviewNotIn(List<String> values) {
            addCriterion("review not in", values, "review");
            return (Criteria) this;
        }

        public Criteria andReviewBetween(String value1, String value2) {
            addCriterion("review between", value1, value2, "review");
            return (Criteria) this;
        }

        public Criteria andReviewNotBetween(String value1, String value2) {
            addCriterion("review not between", value1, value2, "review");
            return (Criteria) this;
        }

        public Criteria andApplicantIsNull() {
            addCriterion("applicant is null");
            return (Criteria) this;
        }

        public Criteria andApplicantIsNotNull() {
            addCriterion("applicant is not null");
            return (Criteria) this;
        }

        public Criteria andApplicantEqualTo(String value) {
            addCriterion("applicant =", value, "applicant");
            return (Criteria) this;
        }

        public Criteria andApplicantNotEqualTo(String value) {
            addCriterion("applicant <>", value, "applicant");
            return (Criteria) this;
        }

        public Criteria andApplicantGreaterThan(String value) {
            addCriterion("applicant >", value, "applicant");
            return (Criteria) this;
        }

        public Criteria andApplicantGreaterThanOrEqualTo(String value) {
            addCriterion("applicant >=", value, "applicant");
            return (Criteria) this;
        }

        public Criteria andApplicantLessThan(String value) {
            addCriterion("applicant <", value, "applicant");
            return (Criteria) this;
        }

        public Criteria andApplicantLessThanOrEqualTo(String value) {
            addCriterion("applicant <=", value, "applicant");
            return (Criteria) this;
        }

        public Criteria andApplicantLike(String value) {
            addCriterion("applicant like", value, "applicant");
            return (Criteria) this;
        }

        public Criteria andApplicantNotLike(String value) {
            addCriterion("applicant not like", value, "applicant");
            return (Criteria) this;
        }

        public Criteria andApplicantIn(List<String> values) {
            addCriterion("applicant in", values, "applicant");
            return (Criteria) this;
        }

        public Criteria andApplicantNotIn(List<String> values) {
            addCriterion("applicant not in", values, "applicant");
            return (Criteria) this;
        }

        public Criteria andApplicantBetween(String value1, String value2) {
            addCriterion("applicant between", value1, value2, "applicant");
            return (Criteria) this;
        }

        public Criteria andApplicantNotBetween(String value1, String value2) {
            addCriterion("applicant not between", value1, value2, "applicant");
            return (Criteria) this;
        }

        public Criteria andNeedMoneyIsNull() {
            addCriterion("need_money is null");
            return (Criteria) this;
        }

        public Criteria andNeedMoneyIsNotNull() {
            addCriterion("need_money is not null");
            return (Criteria) this;
        }

        public Criteria andNeedMoneyEqualTo(String value) {
            addCriterion("need_money =", value, "needMoney");
            return (Criteria) this;
        }

        public Criteria andNeedMoneyNotEqualTo(String value) {
            addCriterion("need_money <>", value, "needMoney");
            return (Criteria) this;
        }

        public Criteria andNeedMoneyGreaterThan(String value) {
            addCriterion("need_money >", value, "needMoney");
            return (Criteria) this;
        }

        public Criteria andNeedMoneyGreaterThanOrEqualTo(String value) {
            addCriterion("need_money >=", value, "needMoney");
            return (Criteria) this;
        }

        public Criteria andNeedMoneyLessThan(String value) {
            addCriterion("need_money <", value, "needMoney");
            return (Criteria) this;
        }

        public Criteria andNeedMoneyLessThanOrEqualTo(String value) {
            addCriterion("need_money <=", value, "needMoney");
            return (Criteria) this;
        }

        public Criteria andNeedMoneyLike(String value) {
            addCriterion("need_money like", value, "needMoney");
            return (Criteria) this;
        }

        public Criteria andNeedMoneyNotLike(String value) {
            addCriterion("need_money not like", value, "needMoney");
            return (Criteria) this;
        }

        public Criteria andNeedMoneyIn(List<String> values) {
            addCriterion("need_money in", values, "needMoney");
            return (Criteria) this;
        }

        public Criteria andNeedMoneyNotIn(List<String> values) {
            addCriterion("need_money not in", values, "needMoney");
            return (Criteria) this;
        }

        public Criteria andNeedMoneyBetween(String value1, String value2) {
            addCriterion("need_money between", value1, value2, "needMoney");
            return (Criteria) this;
        }

        public Criteria andNeedMoneyNotBetween(String value1, String value2) {
            addCriterion("need_money not between", value1, value2, "needMoney");
            return (Criteria) this;
        }

        public Criteria andAlreadyMoneyIsNull() {
            addCriterion("already_money is null");
            return (Criteria) this;
        }

        public Criteria andAlreadyMoneyIsNotNull() {
            addCriterion("already_money is not null");
            return (Criteria) this;
        }

        public Criteria andAlreadyMoneyEqualTo(String value) {
            addCriterion("already_money =", value, "alreadyMoney");
            return (Criteria) this;
        }

        public Criteria andAlreadyMoneyNotEqualTo(String value) {
            addCriterion("already_money <>", value, "alreadyMoney");
            return (Criteria) this;
        }

        public Criteria andAlreadyMoneyGreaterThan(String value) {
            addCriterion("already_money >", value, "alreadyMoney");
            return (Criteria) this;
        }

        public Criteria andAlreadyMoneyGreaterThanOrEqualTo(String value) {
            addCriterion("already_money >=", value, "alreadyMoney");
            return (Criteria) this;
        }

        public Criteria andAlreadyMoneyLessThan(String value) {
            addCriterion("already_money <", value, "alreadyMoney");
            return (Criteria) this;
        }

        public Criteria andAlreadyMoneyLessThanOrEqualTo(String value) {
            addCriterion("already_money <=", value, "alreadyMoney");
            return (Criteria) this;
        }

        public Criteria andAlreadyMoneyLike(String value) {
            addCriterion("already_money like", value, "alreadyMoney");
            return (Criteria) this;
        }

        public Criteria andAlreadyMoneyNotLike(String value) {
            addCriterion("already_money not like", value, "alreadyMoney");
            return (Criteria) this;
        }

        public Criteria andAlreadyMoneyIn(List<String> values) {
            addCriterion("already_money in", values, "alreadyMoney");
            return (Criteria) this;
        }

        public Criteria andAlreadyMoneyNotIn(List<String> values) {
            addCriterion("already_money not in", values, "alreadyMoney");
            return (Criteria) this;
        }

        public Criteria andAlreadyMoneyBetween(String value1, String value2) {
            addCriterion("already_money between", value1, value2, "alreadyMoney");
            return (Criteria) this;
        }

        public Criteria andAlreadyMoneyNotBetween(String value1, String value2) {
            addCriterion("already_money not between", value1, value2, "alreadyMoney");
            return (Criteria) this;
        }

        public Criteria andNotoIsNull() {
            addCriterion("noto is null");
            return (Criteria) this;
        }

        public Criteria andNotoIsNotNull() {
            addCriterion("noto is not null");
            return (Criteria) this;
        }

        public Criteria andNotoEqualTo(String value) {
            addCriterion("noto =", value, "noto");
            return (Criteria) this;
        }

        public Criteria andNotoNotEqualTo(String value) {
            addCriterion("noto <>", value, "noto");
            return (Criteria) this;
        }

        public Criteria andNotoGreaterThan(String value) {
            addCriterion("noto >", value, "noto");
            return (Criteria) this;
        }

        public Criteria andNotoGreaterThanOrEqualTo(String value) {
            addCriterion("noto >=", value, "noto");
            return (Criteria) this;
        }

        public Criteria andNotoLessThan(String value) {
            addCriterion("noto <", value, "noto");
            return (Criteria) this;
        }

        public Criteria andNotoLessThanOrEqualTo(String value) {
            addCriterion("noto <=", value, "noto");
            return (Criteria) this;
        }

        public Criteria andNotoLike(String value) {
            addCriterion("noto like", value, "noto");
            return (Criteria) this;
        }

        public Criteria andNotoNotLike(String value) {
            addCriterion("noto not like", value, "noto");
            return (Criteria) this;
        }

        public Criteria andNotoIn(List<String> values) {
            addCriterion("noto in", values, "noto");
            return (Criteria) this;
        }

        public Criteria andNotoNotIn(List<String> values) {
            addCriterion("noto not in", values, "noto");
            return (Criteria) this;
        }

        public Criteria andNotoBetween(String value1, String value2) {
            addCriterion("noto between", value1, value2, "noto");
            return (Criteria) this;
        }

        public Criteria andNotoNotBetween(String value1, String value2) {
            addCriterion("noto not between", value1, value2, "noto");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}